iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 11
0
自我挑戰組

Junior Ruby on Rails 工程師的心得與自我挑戰 30 天 (單身狗轉移注意力之歷練)系列 第 11

[2019 鐵人賽 Ruby on Rails] Day11 - Ruby 裡的 %Q, %q, %W, %w, %x, %r, %s, %i

  • 分享至 

  • xImage
  •  

%Q:
用於替代雙引號的字串. 當你需要在字串裡放入很多引號時候, 可以直接用下面方法而不需要在引號前逐個添加反斜線 (")。

>> %Q(Joe said: "Frank said: "#{what_frank_said}"")=> "Joe said: "Frank said: "Hello!"""

%q:
與%Q類似, 但是表示的是單引號字串。

>> %q(Joe said: 'Frank said: '#{what_frank_said} ' ')=> "Joe said: 'Frank said: '\#{what_frank_said} ' '"

%W:
文法近似於%Q, 用於表示其中元素被雙引號括起的數組。

>> %W(#{foo} Bar Bar\ with\ space)=> ["Foo", "Bar", "Bar with space"]

%w:
用於表示其中元素被單引號括起的數組. 比較奇怪的是(斜杠空格)會被轉化成(空格), 但是其他的內容不會。

>> %w(a b c\ d \#e #{1}f)=> ["a", "b", "c d", "\\#e", "\#{1}f"]

%x:
使用`方法執行一段shell指令碼並返回標準輸出內容。

>> %x(echo foo:#{foo})=> "foo:Foo\n"

%r:
文法近似於%Q, 用於Regex.

>> %r(/home/#{foo}) => "/\\/home\\/Foo/"

%s:
用於表示symbol, 但是不會對其中運算式等內容進行轉化。

>> %s(foo)=> :foo>> %s(foo bar)=> :"foo bar">> %s(#{foo} bar)=> :"\#{foo} bar"

%i:
Ruby 2.0 之後引入的文法, 用於產生一個symbol數組。

>> %i(a b c)=> [:a, :b, :c]

上一篇
[2019 鐵人賽 Ruby on Rails] Day10 - .nil? .empty? .blank? .present?
下一篇
Ruby on Rails - Ruby 基礎,變數、常數、流程控制、迴圈
系列文
Junior Ruby on Rails 工程師的心得與自我挑戰 30 天 (單身狗轉移注意力之歷練)30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言